#ifndef EXPRESSIONTESTER_H
#define EXPRESSIONTESTER_H

#include <wx/sizer.h>
#include <wx/button.h>
#include "scrollingdialog.h"
#include <wx/stattext.h>
#include <wx/textctrl.h>

#include "FileContentBase.h"

class ExpressionTester: public wxScrollingDialog {
  public:

    ExpressionTester( wxWindow* parent, FileContentBase* content, FileContentBase::OffsetT current );
    virtual ~ExpressionTester();

  private:


    wxButton* Button4;
    wxButton* Button1;
    wxStaticText* m_Parsing;
    wxButton* Button2;
    wxButton* Button3;
    wxStaticText* StaticText1;
    wxTextCtrl* m_Expr;
    wxStaticText* StaticText3;
    wxTextCtrl* m_Dump;
    wxStaticText* StaticText4;
    wxStaticText* StaticText2;
    wxStaticText* m_Result;



    static const long ID_STATICTEXT1;
    static const long ID_TEXTCTRL1;
    static const long ID_BUTTON3;
    static const long ID_STATICTEXT2;
    static const long ID_STATICTEXT3;
    static const long ID_STATICTEXT4;
    static const long ID_STATICTEXT5;
    static const long ID_STATICTEXT6;
    static const long ID_TEXTCTRL2;
    static const long ID_BUTTON4;
    static const long ID_BUTTON2;
    static const long ID_BUTTON1;



    void OnButton1Click( wxCommandEvent& event );
    void OnButton2Click( wxCommandEvent& event );
    void OnButton3Click( wxCommandEvent& event );
    void OnButton4Click( wxCommandEvent& event );


    FileContentBase* m_Content;
    FileContentBase::OffsetT m_Current;

    void BuildContent( wxWindow* parent );

    DECLARE_EVENT_TABLE()
};

#endif
